As common file version control tools used in the development process, GIT (which is a distributed version control system) and SVN (Subversion, which is a version control system of open source code) are often employed in team development tasks. However, the two tools require developers to be highly familiar with systems, environments, and commands, resulting in low development efficiency when the tools are used.
At present, some Web IDE development environments (such as Coding.net in China) already allow developers to write and submit code files in a browser, to solve the problem of low efficiency caused by high operation costs. For example, some collaboratively developed systems employ a client terminal caching method. That is, developers record their operations on a same file in respective client terminal caches, and then submit the cached operations to a server. The server acquires the operations cached in the client terminals, integrates the operations into one complete operation, and then updates the file. However, this solution has the following problems:
(1) File read/write permission of the developers is not properly controlled. One file may be opened and edited in multiple browsers, or multiple developers may open a same file to write. Therefore, in some cases, different developers may open a same file at the same time and write different contents into the file. Thus, there may be conflicting contents in the file when different developers submit the edited files, or contents of the file may write over each other, which severely hinders the performance of the developers in collaborative development.
(2) The client terminal needs a cache, and sufficient permission is needed to operate a caching system. For example, the developers cannot carry out operations if the operation system such as the iOS system strictly controls user permissions or a user manually disables the permission.
(3) All modification contents of the file are saved in the client terminal. Data will be lost if a user switches the client terminal when the developer has already modified data but has not submitted the modified data to the server.
(4) All operation data is stored in the client terminal cache, and the developers may arbitrarily modify the cached data if they have the permission, resulting in poor security.